package error_util

import "fmt"

// 获取错误信息
func GetErrorMessage(obj any) string {
	var errorMsg string

	// 获取错误信息
	switch t := obj.(type) {
	case string:
		errorMsg = t
	case error:
		errorMsg = t.Error()
	default:
		errorMsg = fmt.Sprintf("%v", obj)
	}

	return errorMsg
}

// 应当尽量少用这个方法，只有在压根无法处理的错误，
// 比如数据库查询失败这种无法处理的错误，通过该方法减少啰嗦的代码。
func Must(err error) {
	if err != nil {
		panic(err)
	}
}
